#include <stdio.h>

int main(int argc, char const *argv[])
{

    int a = 0x12345678;
    //                     |12|34|56|78|（小端序，常见）
    //                     |78|56|34|12|（大端序）
    //                               ↑
    //                               个
    //                               低
    char *p = (char *)&a; // a的基地址，即低地址
    printf("%hhx\n", *p);


    //                       
    long b[4] = {1,2,3,4}; // 01  |00 0000 0000 0000  02| 00 0000 0000 0000 ..
    //                         ↑    ↑
    //                      0x123  0x124
    //                               p2           
    long *p2 = (long *)((long)b + 1);
    //                     0x124

    long *p2 = (b + 1);
    long *p2 = (&b[0] + 1); // p2 --> 2

    printf("%lx\n", *p2); // 2

    return 0;
}
